package io.terminus.spzx.manager.mapper;

import io.terminus.spzx.model.dto.system.SysRoleDto;
import io.terminus.spzx.model.entity.system.SysRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Author lichunlong lcl253137@alibaba-inc.com
 * @Desc 系统角色Mybatis Mapper
 * @Date 2024-05-09
 */
@Mapper
public interface SysRoleMapper {

    /**
     * 查询系统角色列表
     *
     * @param sysRoleDto 系统角色DTO
     * @return 系统角色Entity列表
     */
    List<SysRole> findByPage(SysRoleDto sysRoleDto);

    /**
     * 查询系统角色列表
     *
     * @return 系统角色Entity列表
     */
    List<SysRole> findAll();

    /**
     * 保存系统角色
     *
     * @param sysRole 系统角色
     */
    void save(SysRole sysRole);

    /**
     * 修改系统角色
     *
     * @param sysRole 系统角色
     */
    void update(SysRole sysRole);

    /**
     * 根据ID删除角色
     *
     * @param roleId 角色ID
     */
    void deleteById(Long roleId);
}
